import Foundation

public class MotionBlur: BasicOperation {
    public var blurSize:Float = 2.5
    public var blurAngle:Float = 0.0
    
    public init() {
        super.init(vertexFunctionName:"motionBlurVertex", fragmentFunctionName:"motionBlurFragment", numberOfInputs:1)
    }
    
//    override func configureFramebufferSpecificUniforms(_ inputFramebuffer:Framebuffer) {
//        let outputRotation = overriddenOutputRotation ?? inputFramebuffer.orientation.rotationNeededForOrientation(.portrait)
//        let texelSize = inputFramebuffer.texelSize(for:outputRotation)
//        
//        let aspectRatio = inputFramebuffer.aspectRatioForRotation(outputRotation)
//        let directionalTexelStep:Position
//        if outputRotation.flipsDimensions() {
//            let xOffset = blurSize * Float(sin(Double(blurAngle) * .pi / 180.0)) * aspectRatio * texelSize.width
//            let yOffset = blurSize * Float(cos(Double(blurAngle) * .pi / 180.0)) * texelSize.width
//            directionalTexelStep = Position(xOffset, yOffset)
//        } else {
//            let xOffset = blurSize * Float(cos(Double(blurAngle) * .pi / 180.0)) * aspectRatio * texelSize.width
//            let yOffset = blurSize * Float(sin(Double(blurAngle) * .pi / 180.0)) * texelSize.width
//            directionalTexelStep = Position(xOffset, yOffset)
//        }
//        
//        uniformSettings["directionalTexelStep"] = directionalTexelStep
//    }
}
